{Trabajo Practico Nº1
* Alumnos:
* Facundo Rubin
* Miguel Rodriguez
* Matias Sanchez Iñiguez
	* }
PROGRAM tp2;

CONST
    c_par=4; //cantidad de participantes

TYPE
    tm_matriz= ARRAY [1..c_par,1..6] of CHAR;
    tv_vector= ARRAY [1..c_par] of STRING[20];
	tv_vec_saltos= ARRAY [1..6] of REAL;
	tv_contador= ARRAY [1..6] of INTEGER; 
VAR
    va_fila,va_col: INTEGER;
    va_c1,va_c2:INTEGER;
    vv_acu:tv_contador;
    vv_nombres: tv_vector;
    vv_saltos:tv_vec_saltos;
    //va_menor: INTEGER;
    //vs_nom:STRING[20];
	vm_datos: tm_matriz;

FUNCTION valido(va_dato:CHAR):CHAR;//Verificar dato ingresado sea X o 0
BEGIN
	IF (va_dato='X') OR (va_dato='x') THEN
		BEGIN
			valido:='X';
		END
	ELSE
		BEGIN
			valido:='0';
		END;
END;
PROCEDURE sal_tod;//Todos saltaron
    BEGIN
   	 FOR va_fila:=1 TO c_par DO
   	 BEGIN
   		 va_c1:=0;//Inicializo a 0 el contador
   		 FOR va_col:=1 TO 6 DO
   			 BEGIN
   					 IF vm_datos[va_fila,va_col]='X' THEN
   						va_c1:= va_c1 +1;
   			 END;
   			 IF va_c1=6 THEN
   				 writeln('El participante ',vv_nombres[va_fila],' realizo todos los saltos');
   		 END;
    END;

PROCEDURE carga_nom;//Carga de Nombre de los participantes
	BEGIN
	writeln('Ingrese nombre de los participantes:');
	FOR va_col:=1 TO c_par DO
		BEGIN
			write(va_col,'-');
			readln(vv_nombres[va_col]);
		END;
	END;

PROCEDURE carga_sal;//Carga Saltos
BEGIN
	FOR va_col:=1 TO c_par DO
		BEGIN
			writeln('Responda con X o 0 segun correponda');
			writeln('Atleta:',vv_nombres[va_col]);
			FOR va_fila:=1 TO 6 DO
				BEGIN
					writeln(vv_saltos[va_fila]:2:2,':');
					readln(vm_datos[va_col,va_fila]);
					vm_datos[va_col,va_fila] := valido(vm_datos[va_col,va_fila]);//Verifica que los valores introducidos son X o 0
				END;
	END;
END;

PROCEDURE resul;//Motrar resutados
	BEGIN
		writeln('_________________________________________________________________________');
		FOR va_col:=1 TO c_par DO
			BEGIN
				writeln('|  ',vv_nombres[va_col]);
				writeln('|   2.00    |   2.10    |   2.20    |   2.30    |   2.35    |   2.40    |');
				writeln('|     ', vm_datos[va_col,1],'     |     ', vm_datos[va_col,2],'     |     ', vm_datos[va_col,3],'     |     ', vm_datos[va_col,4],'     |     ', vm_datos[va_col,5],'     |     ', vm_datos[va_col,6],'     |     ');
			END;
			writeln('_________________________________________________________________________');	
	end;
	
{procedure menor;
begin

end;}


procedure may_fre;//Salto que se realizo con mayor Frecuencia
begin
	va_c1:=0;
	for va_fila:=1 to c_par do
	begin
		for va_col:=1 to 6 do
			begin
				if vm_datos[va_fila,va_col] = 'X' then
					begin
						vv_acu[va_col]:= vv_acu[va_col]+1;
					end;
			end;
	end;
			for va_fila:=1 to 6 do
			begin
				if vv_acu[va_fila] > va_c1 then
					begin
						va_c1:=vv_acu[va_fila];//guardo el num de veces que fue superado mas cantidad de veces
						va_c2:=va_fila;//guardo el salto que fue superado mas cantidad de veces
					end;
			end;
			writeln('La altura que fue superada con mayor frecuencia es ', vv_saltos[va_col]:2:2);
	end;

procedure sal_230;//Salto mas de 2.30m
begin
	va_c2:=0;
	for va_fila:=1 to c_par do
			begin
				for va_c1:=4 to 6 do
				if vm_datos[va_fila,va_col] = 'X' then
				begin
					va_c2:= va_c2+1;
				break;	
				end;
			end;
	writeln('La cantidad de competidores que saltaron mas de 2.30m es ',va_c2);
end;
begin
	//Altura de los saltos
	vv_saltos[1]:=2;
	vv_saltos[2]:=2.1;
	vv_saltos[3]:=2.2;
	vv_saltos[4]:=2.3;
	vv_saltos[5]:=2.35;
	vv_saltos[6]:=2.4;
	
	carga_nom();//Carga de nombres
	carga_sal();//Carga de saltos
	resul();//Muestra resultados
	sal_tod();//Participante que realizo todos los saltos
	//men();//Menor cantidad de saltos
	may_fre();//Salto mayor frecuencia
	sal_230();//Participantes que superaron los 2.30m
end.

